草庐IT

Git 推送到远程分支

全部标签

git - 使用 Docker 在生产中部署 Go 服务

我正在使用Docker开发Go服务,并认为在编译时要在生产中部署代码,我只需要dockercompose和在我的注册表上发布的Docker镜像。因为我来自PHP世界,所以我习惯于克隆我的整个项目来部署它。有什么方法可以仅使用docker-compose文件部署我的项目?我在thispost上看到了我只能gitclone一个文件,但感觉这不是一个好方法,用Docker部署Go微服务的最佳实践是什么? 最佳答案 您的问题中有两个不同的问题,我不确定您要寻找哪个问题的答案。Q1:为我的Go项目创建Dockerfile的好方法是什么A1:看

go - 未导入 Github 分支中的更改

我正在编写一个MIDI解析器,它可以拆分MIDI文件并调整不同轨道上的音量以允许特定的语音隔离以帮助练习。我正在使用Go库,EasyMIDI.但是,我遇到了库未涵盖的用例,因此我fork了存储库并进行了更改,以在短期内解决我的问题。在我的go.mod和import语句中使用我的forkGithubURL时,我能够成功构建,但我所做的代码更改没有反射(reflect)出来。我将函数GetChannel()添加到接口(interface)中,因此应该将其列为一个选项。当我点击另一个最初实现的功能的源代码时,我看到我的VSCode在抓取代码时引用了非fork的存储库(请参见下面的屏幕片段)。

git - Go:无法在符号链接(symbolic link)中打包

我有一个一次性的项目。在这个项目中,例如我有一个lib_project是到另一个目录的符号链接(symboliclink),例如:github_projectpull源代码到本地后,我更新了另一个git子模块(github_project是一个子模块)。然后我去这里编译项目。之后,我转到我的主项目并尝试运行命令go。我遇到异常:packagegithub.com/main_project/test.go:cannotfindpackage"github.com/main_project/lib_project/some_random_file.go"inanyof:/usr/local

git - git 在什么时候完成它的执行操作?

我在Go中有一个实用程序,它通过os/exec运行提交检查,然后对来自提交的文件执行一些操作。我怀疑此时此命令返回其返回码:_,err:=exec.Command("git","-C",sourceDir,"checkout",hash).Output()文件夹中的整个文件树都是最新的,我可以对文件做任何我想做的事,无需等待某些操作在后台完成。如果它是一个非常大的存储库,其中一个提交与另一个提交有很大不同,并且从一个提交切换到另一个提交时同步删除/添加/修改的文件需要时间怎么办?我可以在gitcheckout返回0后立即运行我的操作吗? 最佳答案

go - 如何捕获输出并将其发送到文件

我有一个执行某些处理的程序,我想提供将输出保存到文件的选项,但是,我找不到执行此操作的最佳方法。if(strings.ToLower(input2)=="y")||(strings.ToLower(input2)=="yes"){fmt.Println("\nOutputtingtofile,pleasewait...")oldSt:=os.Stdout//CreatebackupofoldStdoutnewFil,_:=os.Create(input+"txt")os.Stdout=newFiltable.Render()os.Stdout=oldStfmt.Println("\nC

戈朗。将数据发送到模板不起作用

我想知道将任何数据发送到模板(html/template包)的真正方法是什么?我的代码如下:vartemplates=template.Must(template.ParseFiles(path.Join(this.currentDirectory,"views/base.html"),path.Join(this.currentDirectory,"views/main/test.html"),))templates.Execute(response,map[string]string{"Variable":"Тест!",})这是模板:{{define"content"}}{{.V

mongodb - ssh端口转发时如何解析远程服务器的域名

我正在尝试使用端口转发连接到远程mongodb服务器。在mgo.DialInfo中,拨号服务器将向中间主机返回一个连接(*net.Conn类型),Addrs将是远程mongodb服务器的字符串地址(一组种子服务器)。我的问题是,如果我提供这些服务器的远程IP地址,程序运行良好,我能够连接到远程mongodb服务器,但是因为IP地址可以更改,我想提供服务器的域名,比如mongodbserver1和mongodbserver2当我给出时,程序挂起。据我所知,该程序试图在我的本地机器上解析域名,这将无法正常工作,它们需要在中间主机上解析。我想知道我该怎么做。就代码而言,以下工作正常,dial

git - 去 dep 去生成

如何添加自动生成的Go依赖项?我有一个protobuf存储库,其根目录中有一个go文件,其中包含以下内容://go:generate./scripts/generate_go_sources.shpackageprotobuf上述脚本遍历“message/”子文件夹中的所有.proto文件,并生成go-sources。之后,存储库包含许多子包,如ptyes/package1/file.goptyes/package2/file.go我不想将这些文件checkin版本控制。我如何将此存储库与godep一起使用?我正在尝试切换到godep以进行依赖管理,但我无法说服它下载此存储库并执行“g

go - 连接到远程 golang 服务器

几天来我一直在尝试远程连接到我编写的sockjs-go(https://github.com/igm/sockjs-go)服务器应用程序。我在Windows上进行本地开发,一切正常。当我尝试在远程linux服务器上运行时(显然是在linuxbox上构建之后),我永远无法连接到sockjs服务器。我已经尝试从远程计算机上的sockjs-go存储库运行示例echoserverweb示例,但我也无法连接到它。我确保将sockjs客户端IP从我的本地计算机更改为远程计算机。我有正确的公共(public)IP地址,可以查看lighttpd提供的静态网页。我尝试在谷歌上搜索任何特定于golang的

GoLang ~ 远程调试

前提条件在编译go项目时,使用​​gobuild-gcflags"all=-N-l"​​,关闭内联优化,以支持debug。关于​​-gcflags"-N-l"​​参数的解释:编译时,如果编译的结果需要gdb调试则使用参数​​-gcflags"-N-l"​​,这样可以忽略Go内部做的一些优化,聚合变量和函数等优化。服务器环境准备1、go安装wgethttps://go.dev/dl/go1.17.6.linux-amd64.tar.gz(选择版本下载)tar-zxvfgo1.17.6.linux-amd64.tar.gz2、生成临时环境变量exportGOPATH=/tmp/goprojects